﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SqlClient;
using BUS;
using DTO;

namespace QLDT
{
    
    public partial class Frm_QLTaiKhoan : DevExpress.XtraEditors.XtraForm
    {
        public Frm_QLTaiKhoan()
        {
            InitializeComponent();
        }
        public bool TTThemSua = true;
        private string TenTK_cu;
        private void Frm_QLTaiKhoan_Load(object sender, EventArgs e)
        {
            load();
        }
        public void load()
        {

            gridTaiKhoan.DataSource = BUS_TaiKhoan .SelectTaiKhoan();
            txt_TenTK.Enabled = false;
            txt_MatKhau.Enabled = false;
            txt_IDNhom.Enabled = false;
            gridTaiKhoan.Enabled = true;


            simpleBt_capnhat.Enabled = simpleBt_Huy.Enabled = false;
            if (gv_TaiKhoan.RowCount < 1)
            {
                simpleBt_Sua.Enabled = simpleBt_Xoa.Enabled = false;
            }
            else
                simpleBt_Sua.Enabled = simpleBt_Xoa.Enabled = true;
            simpleBt_Them.Enabled = true;
            Bindings();

        }

        private void Bindings()
        {
            txt_TenTK.DataBindings.Clear();
            txt_MatKhau.DataBindings.Clear();
            txt_IDNhom.DataBindings.Clear();

            txt_TenTK.DataBindings.Add("Text", gridTaiKhoan.DataSource, "TenTK");
            txt_MatKhau.DataBindings.Add("Text", gridTaiKhoan.DataSource, "MatKhau");

            txt_IDNhom.DataBindings.Add("Text", gridTaiKhoan.DataSource, "ID_Nhom");
        }

        private void simpleBt_Them_Click(object sender, EventArgs e)
        {

            simpleBt_Them.Enabled = false;
            simpleBt_Sua.Enabled = false;
            simpleBt_Xoa.Enabled = false;
            simpleBt_capnhat.Enabled = true;
            simpleBt_Huy.Enabled = true;
            gridTaiKhoan.Enabled = true;

            txt_TenTK.DataBindings.Clear();
            txt_MatKhau.DataBindings.Clear();

            txt_IDNhom.DataBindings.Clear();
      
            txt_TenTK.Text = "";
            txt_MatKhau.Text = "";
            txt_IDNhom.Text = "";

            txt_TenTK.Enabled = true;
            txt_MatKhau.Enabled = true;
            txt_IDNhom.Enabled = true;
             TTThemSua = true;
        }

        private void simpleBt_capnhat_Click(object sender, EventArgs e)
        {
            if (!KTDulieu())
            {
                XtraMessageBox.Show("Nhập đầy đủ nga", "Thông báo");
                return;
            }
            DTO_TaiKhoan TK = new DTO_TaiKhoan();
            TK.TenTK = txt_TenTK.Text;
            TK.MatKhau = txt_MatKhau.Text;
            TK.ID_Nhom = int.Parse(txt_IDNhom.Text);
   
            if (TTThemSua)
            {

                if (BUS_TaiKhoan.insertTaiKhoan(TK))
                    load();
                else
                    XtraMessageBox.Show("lỗi từ hệ thống, hãy liên hệ với bộ phận kỹ thuật, mã lỗi [simpleBt_CapNhat_Click]", "Thông báo");
            }
            else
            {
                if (BUS_TaiKhoan.updateTaiKhoan(TK, TenTK_cu))
                    load();
                else
                    XtraMessageBox.Show("lỗi từ hệ thống, hãy liên hệ với bộ phận kỹ thuật, mã lỗi [simpleBt_CapNhat_Click]", "Thông báo");
            }

        }

        private bool KTDulieu()
        {
            if (txt_TenTK.Text == "")
                return false;
            if (txt_MatKhau.Text == "")
                return false;
            if (txt_IDNhom.Text == "")
                return false;
            return true;
        }

        private void simpleBt_Xoa_Click(object sender, EventArgs e)
        {
            bool kq;
            if (MessageBox.Show("Bạn có chắc sẽ xóa sinh viên " + txt_TenTK.Text + " hay không, nếu xóa thì toàn bộ thông thông tin liên quan sẽ mất.", "Thông báo", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                kq = BUS_TaiKhoan.deleteTaiKhoanTheoMaSV(txt_TenTK.Text);
                if (!kq)
                    XtraMessageBox.Show("Xóa thất bại", "Thông báo");
                else
                {
                    load();
                }
            }
            else
                load();

        }

        private void simpleBt_Huy_Click(object sender, EventArgs e)
        {
            load();
        }

        private void simpleBt_Sua_Click(object sender, EventArgs e)
        {

            TenTK_cu = txt_TenTK.Text;
            simpleBt_Them.Enabled = false;
            simpleBt_Sua.Enabled = false;
            simpleBt_Xoa.Enabled = false;
            simpleBt_capnhat.Enabled = true;
            simpleBt_Huy.Enabled = true;



            txt_TenTK.DataBindings.Clear();
            txt_MatKhau.DataBindings.Clear();
            txt_IDNhom.DataBindings.Clear();

            txt_TenTK.Enabled = true;
            txt_MatKhau.Enabled = true;
            txt_IDNhom.Enabled = true;
 

            TTThemSua = false;


        }
    }
}